<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>元字符</title>

 </head>
 <body><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="regexp.reference.delimiters.html">分隔符</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="regexp.reference.escape.html">转义序列(反斜线)</a></div>
 <div class="up"><a href="reference.pcre.pattern.syntax.html">PCRE 正则语法</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div><hr /><div id="regexp.reference.meta" class="section">
  <h2 class="title">元字符</h2>
  <p class="para">  
  正则表达式的威力源于它可以在模式中拥有选择和重复的能力。 一些字符被赋予
  特殊的涵义，使其不再单纯的代表自己，模式中的这种有特殊涵义的编码字符
  称为 <em class="emphasis">元字符</em>。
  </p>
  <p class="para">
  共有两种不同的元字符：一种是可以在模式中方括号外任何地方使用的，另外一种
  是需要在方括号内使用的。
  在方括号外使用的元字符如下：
   <dl>

    
     <dt>
<em class="emphasis">\</em></dt>

     <dd>
<span class="simpara">一般用于转义字符</span></dd>

    
    
     <dt>
<em class="emphasis">^</em></dt>

     <dd>
<span class="simpara">断言目标的开始位置(或在多行模式下是行首)</span></dd>

    
    
     <dt>
<em class="emphasis">$</em></dt>

     <dd>
<span class="simpara">断言目标的结束位置(或在多行模式下是行尾)</span></dd>

    
    
     <dt>
<em class="emphasis">.</em></dt>

     <dd>
<span class="simpara">匹配除换行符外的任何字符(默认)</span></dd>

    
    
     <dt>
<em class="emphasis">[</em></dt>

     <dd>
<span class="simpara">开始字符类定义</span></dd>

    
    
     <dt>
<em class="emphasis">]</em></dt>

     <dd>
<span class="simpara">结束字符类定义</span></dd>

    
    
     <dt>
<em class="emphasis">|</em></dt>

     <dd>
<span class="simpara">开始一个可选分支</span></dd>

    
    
     <dt>
<em class="emphasis">(</em></dt>

     <dd>
<span class="simpara">子组的开始标记</span></dd>

    
    
     <dt>
<em class="emphasis">)</em></dt>

     <dd>
<span class="simpara">子组的结束标记</span></dd>

    
    
     <dt>
<em class="emphasis">?</em></dt>

     <dd>

      <span class="simpara">
      作为量词，表示 0 次或 1 次匹配。位于量词后面用于改变量词的贪婪特性。
      (查阅<a href="regexp.reference.repetition.html" class="link">量词</a>)
      </span>
     </dd>

    
    
     <dt>
<em class="emphasis">*</em></dt>

     <dd>
<span class="simpara">量词，0 次或多次匹配</span></dd>

    
    
     <dt>
<em class="emphasis">+</em></dt>

     <dd>
<span class="simpara">量词，1 次或多次匹配</span></dd>

    
    
     <dt>
<em class="emphasis">{</em></dt>

     <dd>
<span class="simpara">自定义量词开始标记</span></dd>

    
    
     <dt>
<em class="emphasis">}</em></dt>

     <dd>
<span class="simpara">自定义量词结束标记</span></dd>

    
   </dl>

   模式中方括号内的部分称为“字符类”。 在一个字符类中仅有以下可用元字符：
   
   <dl>

    
     <dt>
<em class="emphasis">\</em></dt>

     <dd>
<span class="simpara">转义字符</span></dd>

    
    
     <dt>
<em class="emphasis">^</em></dt>

     <dd>
<span class="simpara">仅在作为第一个字符(方括号内)时，表明字符类取反</span></dd>

    
    
     <dt>
<em class="emphasis">-</em></dt>

     <dd>
<span class="simpara">标记字符范围</span></dd>

    
   </dl>

   下面部分描述每个元字符的用法。
  </p>
 </div><hr /><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="regexp.reference.delimiters.html">分隔符</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="regexp.reference.escape.html">转义序列(反斜线)</a></div>
 <div class="up"><a href="reference.pcre.pattern.syntax.html">PCRE 正则语法</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div></body></html>
